home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor2 / chkit.doc < prev    next >
Text File  |  1995-03-31  |  3KB  |  72 lines

  1. (Comp.sys.hp48) 
  2. Item: 2761 by detlef@dmhh.hanse.de [Detlef Mueller] 
  3. Subj: About finding moved ROM entries.. 
  4. Date: 28 Jan 1993 
  5.  
  6. Hi all, 
  7.  
  8. The number of people owning a ROM rev J HP48 grows and most sys-RPL/assembler 
  9. programs available as standalone objects or libraries are using 'unsupported' 
  10. ROM entry points simply because lot's of low level function aren't 'supported' 
  11. (eg. library handling, port management). 
  12.  
  13. The little library provided in this article is a 1st step in trying to find 
  14. moved RPL code. It is written using only ROM entries listed in ENTRIES.A of 
  15. the HP toolkit, which should be safe on any HP48 ROM version. It provides 
  16. two commands, CKOB and CKLIB. CKOB expects an object of any type on the stack, 
  17. CKLIB a real number representing the library ID of an installed library. The 
  18. object, resp. the objects of a library, are searched for RPL pointer into the 
  19. ROM, each is checked for pointing to a valid RPL object. 
  20.  
  21. The following rules define a valid RPL pointer (PTR) into the ROM: 
  22.  
  23.   - a pointer to a primitive code object, ie. [PTR] = PTR - 5 
  24.   - a pointer to a RPL object, ie. [[PTR]] = PRLG 
  25.   - a pointer to the pointer DupAndThen, ie. [PTR] = DupAndThen 
  26.  
  27. In case no invalid RPL pointer where found, both commands reports 
  28.          All inspected RPL 
  29.          pointer are valid... 
  30. in the status display area and leave the stack unchanged. 
  31.  
  32. If the commands detect ROM pointer not following the above rules, 
  33.             !!! Warning !!! 
  34.          Found void RPL pointer 
  35. is reported in the display status area, the passed object is dropped and 
  36. a list of binary numbers is placed on the stack. The binary numbers are 
  37. the values of the illegal pointer. 
  38.  
  39. If you get a new piece of software, which was written on a HP48 with a 
  40. different ROM revision than yours, run CKOB (or CKLIB in case it's a 
  41. library) on it. 
  42.  
  43. If CHKIT reports any invalid RPL pointer, remove the new software immidately 
  44. from your HP48, send the list of the illegal pointer to the author of the 
  45. software and publish it in comp.sys.hp48 (please include the name of the 
  46. software, where you get it from and what ROM rev your HP48 have). 
  47.  
  48. If CHKIT don't report a problem, this only means that the RPL pointer are 
  49. valid from the scope of RPL execution, not that the used ROM based code 
  50. didn't move ! 
  51.  
  52. Also RPL bases on assembler routines; there are some supported assembler 
  53. ROM entries and a lot of unsupported ones. Many programs have emdedded CODE 
  54. objects, containing assembler code slices or are completely written in 
  55. assembler (eg. <-LIB->, QED, StrWrt etc.). These entries can't be checked 
  56. for beeing valid without a complete entries list of each ROM rev ! 
  57.  
  58. CKLIB only works on an installed library - that may cause trouble, if its 
  59. configuration code makes use of unsupported entries ! 
  60.  
  61. However, I would really appreciate if someone owning a rev J HP48 will 
  62. install the <-LIB-> library (be shure, that flag 5 is clear !), then 
  63. executing 1221 CKLIB and mailing me the result.. 
  64.  
  65. Bye, 
  66.          8-Detlef 
  67.  
  68. +------------------------------------+--------------------------------------+ 
  69. |`What a depressingly stupid machine'|             Detlef Mueller           | 
  70. | -- Marvin                          |          detlef@dmhh.hanse.de        | 
  71. +------------------------------------+--------------------------------------+ 
  72.